package com.pku.smart.trade.vopackage;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
public class VoReqRefund implements Serializable {
    /**
     * 商户编码
     */
    @NotNull(message = "商户编码[mchId]不能为空")
    private String mchId;

    /**
     * 渠道编码
     */
    private String channelId;

    /**
     * 商户订单号
     */
    @NotNull(message = "商户订单号[mchOrderNo]不能为空")
    private String mchOrderNo;

    /**
     * 渠道订单号
     */
    private String channelOrderNo;

    /**
     * 商户退款单号
     */
    @NotNull(message = "商户退款单号[mchRefundNo]不能为空")
    private String mchRefundNo;

    /**
     * 退款原因
     */
    private String refundReason;

    /**
     * 退款金额 (撤销默认是支付金额)
     */
    @NotNull(message = "退款金额[refundAmount]不能为空")
    private Long refundAmount;

    /**
     * 订单金额
     */
    private Long totalAmount;

    /**
     * 商户回调地址
     */
    @NotNull(message = "商户回调地址[notifyUrl]不能为空")
    private String notifyUrl;

    /**
     * 签名
     */
    @NotNull(message = "签名[sign]不能为空")
    private String sign;
}
